home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
doors_2
/
rsh_104.zip
/
RSHELL-D.ZIP
/
RSHELL.DOC
< prev
next >
Wrap
Text File
|
1990-12-17
|
22KB
|
507 lines
Intoduction:
============
The Remote Shell is a program to allow a co-sysop or a friend to use part of
your computer system while still guaranteeing that your system is secure.
You control what areas of the disk the person has access to as well as what
commands the person will have access to.
Support is included for adding up to 12 additional commands controlled via
external batch files.
I would be interested in any comments or suggestion you have about The
Remote Shell. This version does not yet support the E)dit file command. It
will take some more coding so until then you will have to do without. What
I have done for my remote user is to add an external command to the EMEdit
program with redirected i/o. This editor is an ANSI based editor and will
therefore work. The EMEDIT.ZIP file is available in my SysOps area for
any who feel they need a remote editor now.
File list:
==========
This document is a simple instruction to use to setup The Remote Shell.
The following files are included:
REGISTER.TXT - Door registration, please fill out & return.
RSHELL.DOC - This Document
RSHELL.BAT - DOORS execution file (sample)
RSHELL.EXE - The executible program (will run stand-alone)
RSHELL.CFG - Door configuration file (see below)
RSHELL.USR - Sample user access file (see below)
RSHELL.HLP - Help file
RSEXTERN.HLP - Sample extended command help file (see below)
RSYES - Response file.
RSTEST.BAT - Sample extended command to dump arguments.
RSXARC.BAT - Sample extended command to archive files.
RSXUARC.BAT - Sample extended command to de-archive files.
RSXDL.BAT - Sample extended command to download a file
using standard external protocol drivers.
RSXUL.BAT - Sample extended command to upload a file
using standard external protocol drivers.
RSHELL.LOG - Door entry & error log (created by program)
NODES.BBS - A list of your comm port assignments by BBS node
Program history:
================
7/89 Version B.00 - Beta version. No edit command.
10/89 Version 1.00 - Still BETA. now has Spitfire support & install pgm.
08/90 Version 1.01 - Still BETA. a few bug fixes.
08/90 Version 1.02 - Bug fixes.
12/90 Version 1.04 - Converted to interrupt driven i/o.
Still no built-in editor support.
Executing RShell:
=================
To execute directly as a door, you can use the file RSHELL.BAT. The
program must be executed from the directory containing all of the
above listed files except that NODES.BBS must be in the BBS directory.
RShell is invoked one of four ways.
1. RSHELL
2. RSHELL node
3. RSHELL node path
4. RSHELL node path bbs
The first is used to run RShell in local mode. This will give you a chance
to test the configuration and profiles of the users you plan to give remote
shell access to before they do.. The second method is used to run RShell
under the door monitor. The node parameter is automatically passed in
by the monitor, and RShell uses the standard door monitor files for
communicating time controls and scores. The third method is used when
running as a door directly under RBBS 15.x. The path parameter is the current
full path containing the RBBS configuration files. The node is the RBBS
node number. The node number is passed to door batch files as parameter 1.
The fourth method may be used for either RBBS 16+ or other BBSs. The fourth
parameter is used to specify the BBS type. Set this to:
(empty) for RBBS 15.x
RBBS for RBBS 16.x or newer
QBBS for Quick BBS
PCBOARD for PC-Board 12.1
PCBOARD14 for PC-Board 14.0
WILDCAT for Wildcat BBS
GAP for GAP BBS
WWIV for WWiV BBS
SPITFIRE for a Spitfire door
SPITFIREK for a Spitfire Main menu command
SPITFIREM for a Spitfire Msg. menu command
SPITFIREF for a Spitfire File menu command
Assumed RBBS 16.x files:
========================
RShell assumes that the following files are in the directory specified
by the path parameter when running directly under RBBS 16.x:
NODES.BBS Node definition file.
MESSAGES This file contains the information pertaining
to each node on the BBS.
DORINFOx.DEF This file contains all of the users settings
such as graphics, parity, baud rate, etc.
Assumed RBBS 15.x files:
========================
RShell assumes that the following files are in the directory specified
by the path parameter when running directly under RBBS 15.x:
NODES.BBS Node definition file.
MESSAGES This file contains the information pertaining
to each node on the BBS.
USERS This file contains all of the users settings
such as graphics, parity, baud rate, etc.
PASSWRDS This file MUST contain an entry for each security
level allowed to run doors. Sherlock gets the
users daily time limit from this file.
Assumed Quick BBS files:
========================
RShell assumes that the following files are in the directory specified
by the path parameter when running directly under Quick BBS:
NODES.BBS Node definition file.
DORINFOx.DEF This file contains all of the users settings
such as graphics, parity, baud rate, etc.
Assumed PC-BOARD files:
=======================
RShell assumes that the following files are in the directory specified
by the path parameter when running directly under PC-Board:
NODES.BBS Node definition file.
PCBOARD.SYS This file contains the information pertaining
to the BBS node and the callers information.
Assumed Wildcat files:
======================
RShell assumes that the following files are in the directory specified
by the path parameter when running directly under Wildcat:
NODES.BBS Node definition file.
CALLINFO.BBS This file contains all of the users settings
such as graphics, parity, baud rate, etc.
Assumed GAP files:
==================
RShell assumes that the following files are in the directory specified
by the path parameter when running directly under GAP:
NODES.BBS Node definition file.
DOOR.SYS This file contains all of the users settings
such as graphics, parity, baud rate, etc.
Assumed WWIV files:
===================
RShell assumes that the following files are in the directory specified
by the path parameter when running directly under WWIV:
NODES.BBS Node definition file.
CHAIN.TXT This file contains all of the users settings
such as graphics, parity, baud rate, etc.
Assumed Spitfire files:
=======================
Opinion assumes that the following files are in the directory specified
by the path parameter when running directly under Spitfire:
NODES.BBS Node definition file.
* SFDOORS.DAT This file contains all of the users settings
such as graphics, parity, baud rate, etc.
* SFMAIN.DAT This file contains all of the users settings
such as graphics, parity, baud rate, etc.
* SFMESS.DAT This file contains all of the users settings
such as graphics, parity, baud rate, etc.
* SFFILE.DAT This file contains all of the users settings
such as graphics, parity, baud rate, etc.
* Note only one of these files is required. Will depend on the environment
you select.
Assumed Monitor files:
======================
RShell assumes that the following files are in the local directory with
the game when running under an RBBS monitor:
NODES.BBS Node definition file.
TIMEOFFx.DOR This file contains all of the users settings
such as graphics, parity, baud rate, etc.
RShell assumes that the following files are in directory specified in the
path parameter of the TIMEOFFx.DOR file:
USERS.DOR Monitor users file.
MONITOR1.EXE This file will be executed when the program
terminates.
RShell will build the following files are in the local directory with
the game when running under an RBBS monitor:
POINTSx.DOR This file contains returns the amount of time
used in the game and a Monitor score value.
The subdirectory setup:
=======================
RShell requires that two subdirectories exist within the same directory
form which it is executed. The first is \WORK. This subdirectory is used
as a work buffer for extended commands which operate on marked files. The
second subdirectory is \BAT. This subdirectory is where all the .BAT files
used to support extended commands (see below) must be stored.
The configuration file:
=======================
The following is a definition of the RSHELL.CFG configuration file:
Line 1: BBS name
Line 2: Name of BBS SysOp
Line 3: Complete drive/path/filename of log file
Line 4: Start of paging hours
Line 5: End of paging hours
The user profiles:
==================
The file RSHELL.USR contains the user profiles for the persons you will
allow access to The Remote Shell. Each profile begins with a :LOGIN
directive and ends with an :END directive. The profile controls which
commands each user will be able to use and defines any extended/external
commands you wish them to have access to. When the door is run, the .USR
file is scanned for a matching login. The profile is processed when the
matching login is found. Any profile errors will be logged to the log file
so you should run it locally to test the integrity of the profile whenever
you make changes and then scan the log file for errors.
Note that blank lines are ignored and that any part of a line after a ';'
character is considered a comment.
The following are descriptions of each of the profile statements:
General Info Directives:
------------------------
The general directives are used to specify basic information about
the user and his access to the system.
:LOGIN user_name This directive is used to specify a users
BBS login name. This is a person whom you
are giving access to The Remote Shell. The
user name is not case sensative and may be
one or more words up to a total of 128
characters.
:PASSWORD word This directive is used to specify the password
the user will need to type in in order to gain
access to The Remote Shell. If this directive
is left out then no password will be required.
The password is case sensative and may be one
or more words up to 128 total characters.
:ROOT dirpath dsc This directive specifies the base directory
the user will have access to. He will have
access to this directory and all of its
child directories. The full drive and path
should be specified and the path should not
terminate in a '\' character as this is
added automatically by the program (unless
you are specifying a root directory). Note
that the user will not know which drive he
is on or in what directory area. For all
effect, this is the root of the only drive
he has access to. This directive is required
for the user to have access and will be
flagged as an error if it is absent. The
dirpath must be a single word and may not
exceed 120 characters.
The dsc parameter is a description shown
to the user during the select command. The
dsc parameter may be from 0 to 5 words but
may not exceed 40 characters total (spaces
included).
:ROOT2 dirpath dsc This directive specifies a second base
directory the user will have access to if it
is defined.
:ROOT3 dirpath dsc This directive specifies a third base
directory the user will have access to if it
is defined.
:ROOT4 dirpath dsc This directive specifies a fourth base
directory the user will have access to if it
is defined.
:END This directive is used to specify the end
of a user profile and must be included.
Intrinsic Command Directives:
-----------------------------
The instrinsic command directives, if present, give the user access
to each of the commands they represent. If the directive is present
they can use the associated command. If it is absent, the user will
be denied access to the associated command.
:MKDIR User may make new sudirectories if this
directive is present.
:RMDIR User may remove subdirectories if this
directive is present.
:CHDIR User may change directories if this directive
is present.
:COPY The user may copy files between windows if
this directive is present.
:DELETE The user may delete files if this directive
is present.
:RENAME The user may rename files if this directive
is present.
:TYPE The user may list a files contents to the
display if this directive is present.
:FILTER The user may change the directory view
filter if this directive is present.
:MARK The user may mark files for group operations
if this directive is present.
:CLEAR The user may clear all marks if this directive
is present.
:EDIT The user may edit files if this directive is
present.
:PAGE The user may page the sysop during paging
hours if this directive is present.
:EXTENDED The user may have access to the extended
command menu if this directive is present.
:QUIT The user will always be able to quit. The
directive was only included to keep the
format consistant.
Extended Command Directives:
----------------------------
The :EXTERN directive is a way to provide your user with access to
commands not built into The Remote Shell. Each profile may contain
up to 12 :EXTERN directives. See below for more information on
setting up extended/external commands.
:EXTERN key text multi batch
The key parameter is used to specify which
key will be used to execute the command.
This may be any alpha-numeric or symbol key
except the following: ?, Q, and 1-9.
The text parameter is used to specify the
text that is displayed in the menu. This
must be a single word and cannot exceed 12
characters in length.
The multi parameter is a single capital
character. Use 'M' to indicate the command
may be executed against a group of marked
files, or 'S' to indicate that the command
is for use by single files only.
The batch parameter is used to specify the
name of the .BAT file to execute when this
command is invoked. This must be a single
word and may not exceed 8 characters. Do
not include the .BAT extension as this will
automatically be done by the program.
Extended/External Commands:
===========================
As stated, extended/external commands are a means to provide the user with
commands not built into The Remote Shell. The batch file must be in the
\BAT directory off of the base RShell directory. The following parameters
are passed to the batch file:
%0 Full name of the batch file being executed
%1 The BBS node number
%2 Full drive/path/filename of current file. This
will be the work directory\*.* if the command
supports multi-file access and files are marked.
%3 Comm port name, ie COM2
%4 Baud rate
%5 Data bits
%6 Parity setting
%7 Stop bits
%8 Minutes of connect time remaining.
%9 + The user login, one word at a time. Each word in
the user login is passed seperately. As an example
John Van Test is passed in %9 %10 %11. Note that
to get past %9 you must use the batch parameter
shift command.
Be advised that support for baud rates, etc, vary under this program. You
should use the TEST.BAT function to check if the correct parameters will
reach the batch file.
A word of caution. Although the user can do no more damage other than to
the subdirectories you provide him or to fill the disk using copy, care
must be exercised when using extended/external commands. For instance,
if you provide him access to MAKE to run make scripts for compiling, etc,
he could easily edit the make script to include a statement to reformat
your hard disk. Care should be exercised and I am sure you know the users
who will have access and how well they can be trusted.
Also another note. Once the batch file starts, no provision is made to
redirect i/o to the comm port or aux device drivers. This is left up to
you so that you can control what the user sees with controls in the batch
files. Also no provision for DCD monitoring exists so you may need to run
WATCHDOG or an equivalent depending on what the batch command does. Check
the sample batch files for examples.
SysOp controls:
===============
The SysOp has similar controls as to those provided in RBBS. The following
set of functions are available:
Alt F1 This key will eject the current user from the game
by setting all his door access time to consumed.
Right Arrow This key will add 1 minute of door access time to
the current users current door session.
Left Arrow This key will subtract 1 minute of door access time
from the current users current door session.
F4 The F4 key will toggle the state of the SysOp
annoy toggle. Note that it is reset to its
original state when RBBS is reentered.
F6 The F6 key will toggle the state of the SysOp
availability toggle. Note that it is reset to
its original state when RBBS is reentered.
F9 The F9 key will toggle the state of the SysOp
snoop toggle. Note that it is reset to its
original state when RBBS is reentered.
F10 The F10 key is used to initiate CHAT mode. This
allows the SysOp to converse with the user via the
keyboard. Full word wrap is supported.
ESC The escape key is used to answer a user page. It
is also used to terminate CHAT mode.
Epilog:
=======
Please enjoy the program and share any comments you have.
Thanks,
Michael W. Bayley
Mycroft Systems
BBS: (408)927-0105